{
    title:  "MakeMe Features",
    crumbs: [],
}
            <h1>Embedthis MakeMe&trade; Features</h1>
            <p>MakeMe has the following major features:</p>
            <ul>
                <li>Configuration and component discovery (replaces autoconf)</li>
                <li>Compiler capability sleuthing</li>
                <li>Generation of a configuration source header (me.h)</li>
                <li>Generation of Xcode, Visual Studio, Make and Nmake projects</li>
                <li>Automatic C/C++ source code dependencies</li>
                <li>Cross platform project definition. Easily handles Windows, Linux and Mac builds.</li>
                <li>Cross-compilation support</li>
                <li>Building outside source tree for read-only file systems</li>
                <li>MakeMe files are Javascript and are easily modified and extended</li>
                <li>Multiple build profiles (debug, release, ...)</li>
                <li>Very fast configuration and build, even on windows</li>
                <li>Open extensible architecture via plugins</li>
                <li>Open Source</li>
           </ul>
           <a id="nice"></a>
           <h2>Nice Bits</h2>
           <p>While MakeMe has a strong feature set, there are some characteristics that make building with MakeMe especially nice:</p>
           <ul>
               <li>Unified project view, no "make" style recursion required</li>
               <li>MakeMe configuration may be comprised of multiple MakeMe configuration files</li>
               <li>MakeMe file targets and scripts are relative to their own directory</li>
               <li>Targets can be named symbolically not just by the target path.</li>
               <li>MakeMe provides a "why" option (me --why) to display why a target was or was not rebuilt</li>
               <li>MakeMe files and targets intelligently inherit outer project properties</li>
               <li>MakeMe DOM exposes the entire project definition as a mutable Javascript object</li>
            </ul>
